In order to protect a digital content (for example a video, audio or 3D data, etc.), it is known to insert a unique watermark arising in the form of a digital code into each of the streams distributed so as to identify the person or the body having authorized the transmission of the content without authorization. As an example, during the promotion of a film, DVDs watermarked with the aid of a different watermark are delivered to selected persons. In the case of a leak, it is possible by reconstructing the watermark to identify the source of the leak. Other applications are possible: insert a watermark making it possible to identify the work or the beneficiaries, or else to transmit auxiliary data (metadata) via the watermark.
To this aim, video watermarking is known to be used by a consumer device to personalize a bitstream of coded data representative of a video/a sequence of images. The “personalization” is achieved by inserting a digital code representing as an example a “user ID” and possibly a timestamp in the bitstream of coded data or even some other kinds of information (like copyright). Subsequently in the document, the terms “watermark”, “digital code” and “User ID” are used interchangeably to designate the digital code inserted into the bitstream of coded data. In order to lower the computing power required in the consumer device to perform such personalization, it is known to use a “watermark by substitution” technique with the “assistance” of watermark assistance data such as Watermark Substitution Maps (referred as WSM). This assisted substitution technique implements the watermarking process into 3 steps.
The first step is occurring in the broadcaster head-end where the watermark assistance data are generated using the sequence of images or more generally the digital content to be broadcasted. Then, during the second step those watermark assistance data are embedded in the bitstream of coded data and transmitted to the consumer side where the third step occurs. During the third step, the watermark assistance data are used in the consumer device to assist the personalization of the received bitstream of coded data by inserting watermarks. The aim of the first step is to ensure that the substitution will not corrupt the bitstream of coded data, to ensure that the watermark, i.e. the personalization, will not be visible/audible by the consumer after reconstructing the sequence of images and to ensure that the watermark will be robust enough to some relevant attacks. Therefore, the first step comprises the identification, in the bitstream of coded data, of data to be substituted and the determination of substitution data. It further guarantees both robustness and fidelity. The watermark assistance data are resulting from this first step.
During the second step, watermark assistance data are then embedded in the bitstream of coded data to be transmitted to the consumer device. It is known in the prior art to embed the watermark assistance data using MPEG2-TS private or user data (TS stands for “Transport Stream”). The MPEG2-TS transport layer is defined in the document ITU T Rec. H.222.0 | ISO/IEC13818 1 (2rd edition, 2000) entitled “Information Technology—Generic Coding of moving images and associated audio: Systems”.
During the third step, the personalization watermarking is applied by the consumer device in the compressed domain. Indeed, the watermarks are “inserted” directly in the bitstream of coded data. This insertion is made by replacing (substituting) in the bitstream of coded data some coded data by some other ones, called substitution data, based on the information contained in the embedded watermark assistance data. Inserting watermarks in the compressed domain makes it possible to both protect the bitstream itself but also the baseband content resulting from decoding the bitstream of coded data. Indeed, the watermarks propagate to the baseband content during decompression.
A first drawback of this solution is that MPEG2-TS private or user data are easily removable which renders the solution less robust to an attack. Secondly MPEG2-TS private and user data are not encrypted, thus requiring specific additional encryption mechanism. Furthermore, the size of the portion of an MPEG2-TS packet allocated for private data is limited in size which limits the size of the watermark assistance data. In addition, with user data synchronization of the watermark assistance data with the sequence of images is not straightforward. Indeed, user data are encapsulated into MPEG2-TS packets that are different from those encapsulating the video, therefore requesting synchronization of the various packets. Finally, WSM as defined in the prior art do not provide flexibility with respect to various applications requirements.